5.3.3 APPX Application Design Manual

+ Chapter 1-1: Overview of Application Design
+ Chapter 1-2: Getting Started
+ Chapter 1-3: Data Dictionary
+ Chapter 1-4: Understanding Process Design
+ Chapter 1-5: Interprocess Communication
+ Chapter 1-6: Customizing Your Application
+ Chapter 1-7: The Documentation Facility
+ Chapter 1-8: Application Design Tools
+ Chapter 2-1: Data Dictionary Overview
+ Chapter 2-2: Data Dictionary Concepts
+ Chapter 2-3: Domains
+ Chapter 2-4: Files and Fields
+ Chapter 2-5: Work Fields
+ Chapter 3-1: Overview of APPX Processes
+ Chapter 3-2: Getting Started
+ Chapter 3-3: Process Definition
+ Chapter 3-4: Menu Processes
+ Chapter 3-5: Job Processes
+ Chapter 3-6: Input Processes
+ Chapter 3-7: Output Processes
+ Chapter 3-8: Update Processes
+ Chapter 3-9: Query Processes
+ Chapter 3-10: Inquiry Processes
+ Chapter 3-11: Status Processes
+ Chapter 3-12: Subroutine Processes
+ Chapter 3-13: Table Processes
+ Chapter 3-14: Automatic and Optional Children
+ Chapter 3-15: Using the Image Editor
+ Chapter 3-16: Using GUI Features of the Image Editor
+ Chapter 3-17: Using Event Points
+ Chapter 4-1: ILF Integration
+ Chapter 4-2: True/False Status Indicators
+ Chapter 4-3: Specifying Statements
+ Chapter 4-4: The ILF Editor
+ Chapter 4-5: The Appx ILF Debugger
- Chapter 4-6: ILF Keyword Reference
+ Chapter 4-7: Predefined Fields
+ Chapter 4-8: Runtime Subroutine's and Predefined Processes
+ Chapter 4-9: Appx Chart Director API

Chapter 4-6: ILF Keyword Reference

POP


The POP statement pops a field or record value from an internally maintained stack and sets it as the current value of the indicated field or record. The structure of the statement is:

    ????? POP      ??? ?????????????????????? ??? ???????????????
    (1)            (2) (3)                    (4) (5)

(1) T/F execution conditions
(2) Application ID
(3) Field name or predefined field
(4) Occurrence (constant/index)
(5) Data item type (FIELD, RECORD) 


The POP statement is used to pop (retrieve) a value that was saved with a PUSH statement.

A distinct stack is associated with each field name and with each file name.

The stack has the internal structure of a LIFO list, i.e. the last value pushed onto the stack for a field or record is the first value popped from the stack. There is no predefined limit as to how many field or record values may be pushed onto a stack.

You may execute a POP statement for a specific field or file more than once. Each time that you execute a POP statement, the value from the "top" of the stack of the referenced field or record is saved as the current value of the referenced field or record and the value is removed from the stack. The POP statement also sets the True/False indicator. If the stack for the referenced field or file contains a value, then the stack is popped and the next level of the true/false status indicator is set to T (true). If the stack is empty, then the referenced field is set to its default value and the next level of the true/false indicator is set to F (false).

Predefined fields may be referenced by a PUSH or POP statement. However, it is invalid to use the PUSH or POP statement for predefined fields that are non-modifiable.

The scope of a stack is the same as the scope of the associated field or file. For example, if the scope of the referenced field is RELATED, then the scope of the associated stack will also be RELATED.

When a POP statement references a field with an occurrence, the next value from the stack is popped into the specified occurrence of the reference field.

A sub-string field and a synonym field will each have their own stack since they have field names that are distinct from the field that they are derived from.

The following example shows how PUSH and POP can be used to swap the values of occurrences 1 and 2 of a field.

 PUSH TOE ORDER1 SALESPERSON 001 FIELD PUSH TOE ORDER1 SALESPERSON 002 FIELD POP TOE ORDER1 SALESPERSON 001 FIELD POP TOE ORDER1 SALESPERSON 002 FIELD 

One use for PUSH and POP is to load virtual keystrokes (user options) into a stack, and have them executed automatically and sequentially.

Application Design Manual                                         "Powered by Appx Software"

1158

©2006 By APPX Software, Inc. All Rights Reserved